using MediatR;
using ProduceBasicData.Api.DTO;
using ProduceBasicData.ErrorCode;

namespace ProduceBasicData.Api.Application.Command.Dashboard
{
    /// <summary>
    /// 获取仪表板数据命令类
    /// </summary>
    public class GetDashboardDataCommand : IRequest<ApiResult<DashboardDto>>
    {
        /// <summary>
        /// 开始日期（可选，默认查询本月数据）
        /// </summary>
        public DateTime? StartDate { get; set; }

        /// <summary>
        /// 结束日期（可选，默认查询本月数据）
        /// </summary>
        public DateTime? EndDate { get; set; }

        /// <summary>
        /// 是否包含图表数据
        /// </summary>
        public bool IncludeChartData { get; set; } = true;

        /// <summary>
        /// 图表数据天数（默认30天）
        /// </summary>
        public int ChartDataDays { get; set; } = 30;
    }
}
